/*
 * Network.h
 *
 *  Created on: 05/06/2011
 *      Author: godinho
 */

#ifndef LOCALVIEW_H_
#define LOCALVIEW_H_

#include <localview/Node.h>
#include <vector>

/**
 * TODO implement concurrent access support
 * Centralize all knowledge that a controller has of its environment.
 */
class LocalView {
public:
	LocalView(std::string nodeId, int x, int y);
	virtual ~LocalView();

	/**
	 * Return node network.
	 *
	 * This method returns a node that contains local data and pointers
	 * to nodes that represents controller neighbors.
	 */
	Node* getNetwork();

	void initTraversal();

private:

	/**
	 * Current node data.
	 */
	Node* mNetwork;

	std::vector<Node*> mNodes;
};

#endif /* LOCALVIEW_H_ */
